package laboratorio5;
/**
 *
 * @author ROGER DIAZ Y RODIMIRO CASTANEDA
 */
//estas son las librerias que importo para trabajar
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
import java.util.*;
import java.io.*;

public class MainLista {
    public static void main (String[] args)throws FileNotFoundException, IOException{
        
        try{

                //se crea FileReader, BuffereadReader, esto me va a servir para poder leer el archivo
                //el cual se debe declarar en el parentesis de FileReader
                //y debe de estar en la misma carpeta donde esten los programas
                //pero tambien se pudo haber escrito su direccion en computadora
			FileReader fr = new FileReader("fichero.txt");
			BufferedReader bf = new BufferedReader(fr);
                        //hago variable String para meter ahi las lineas
			String sCadena;
                        //creo mi objeto Postfix
                        PilaVector pill= new PilaVector();
                        //este ciclo es para ir leyendo linea por linea
                        //mientras hayan lineas que leer esto trabaja

			while ((sCadena = bf.readLine())!=null) {
                            //hago una variable donde voy a meter todos los valores de la lista que me crea split
                            String cadenna = null;
                            //quito espacios con split
                            String llista[]=sCadena.split("");
                            //con for los concateno todos en cadenna para solo tener un string
                            for(String s : llista){
                            cadenna=cadenna+s;
                            }
                            //esto me sirve para poder dividir la linea en direcciones especificas y asi tomar lo que necesito
				StringBuffer cadena= new StringBuffer (cadenna);
                                //hago reverse para que se mas adelante se meta todo al revez a la pila
                                //eso hara que al sacarlo lo vaya usando en el orden que tiene en el archivo de texto
                                cadena=cadena.reverse();
                                //esto me sirve de ayuda para saber cuantas veces meter cosas a la pila
                                int largolinea=cadena.length();
                                //el largo me sirve para trabajar
                                pill.setLengthline(largolinea);
                                //meto la linea, el metodo de push que uso va meter por separado cada item de la linea
                                pill.push(cadena);
                                //luego solo opero lo que haya en la linea
                                pill.operar();
                                
                                //luego imprimo resultado
                                pill.imprimirPila();
                               
                                
                        } 
            
        }
        
        
        catch(FileNotFoundException e){
            System.out.println("No se encontro archivo");
        }
        ////////////////////////////////////////////////////////////////////////////////
        //////////////////////////////////////////////////////////////////////////////
        /////////////////////////////////////////////////////////////////////////////////
                try{

                //se crea FileReader, BuffereadReader, esto me va a servir para poder leer el archivo
                //el cual se debe declarar en el parentesis de FileReader
                //y debe de estar en la misma carpeta donde esten los programas
                //pero tambien se pudo haber escrito su direccion en computadora
			FileReader fr = new FileReader("fichero1.txt");
			BufferedReader bf = new BufferedReader(fr);
                        //hago variable String para meter ahi las lineas
			String sCadena;
                        //creo mi objeto Postfix

                        //este ciclo es para ir leyendo linea por linea
                        //mientras hayan lineas que leer esto trabaja

			while ((sCadena = bf.readLine())!=null) {
                            PilaLista pill= new PilaLista();
                            String cadenna = null;
                            String llista[]=sCadena.split("");
                            for(String s : llista){
                            cadenna=cadenna+s;
                            }
                            //esto me sirve para poder dividir la linea en direcciones especificas y asi tomar lo que necesito
				StringBuffer cadena= new StringBuffer (cadenna);
                                //hago reverse para que se mas adelante se meta todo al revez a la pila
                                //eso hara que al sacarlo lo vaya usando en el orden que tiene en el archivo de texto
                                cadena=cadena.reverse();
                                //esto me sirve de ayuda para saber cuantas veces meter cosas a la pila
                                int largolinea=cadena.length();
                                pill.setLengthline(largolinea);
                                pill.push(cadena);

                                //luego solo opero lo que haya en la linea
                                pill.operar();
                                //luego imprimo resultado
                                pill.imprimirPila();  
                        }

                           
        }
        
        
        catch(FileNotFoundException e){
            System.out.println("No se encontro archivo");
        }
    }
}